package com.macro.mall.service;

import com.macro.mall.dto.BannerPicDto;
import com.macro.mall.dto.DesiginAreaDto;
import com.macro.mall.dto.TenantInfoDto;
import com.macro.mall.model.BannerPicEntity;
import com.macro.mall.model.CaseEntity;
import com.macro.mall.model.TenantEntity;

import java.util.List;

public interface PlatFromService {

    /**
     *  查询商家列表
     *
     * @param status status
     * @param curPage curPage
     * @param pageSize 页码
     * @return List
     */
    List<TenantEntity> findTenantList( Integer status, Integer curPage, Integer pageSize);

    /**
     * 查询商家总数
     *
     * @return int
     */
    int findTenantCount(Integer status);

    /**
     * 添加商家
     *
     * @param tenantInfoDto
     */
    void addTenant(TenantInfoDto tenantInfoDto);

    /**
     * 审核商家
     *
     * @param status 状态
     */
    void examineTenant(Integer status, Long tenantId);

    /**
     * 审核商家
     *
     * @param isRecommend 状态
     */
    void recommendTenant(Integer isRecommend, Long tenantId);

    /**
     * 删除商家
     */
     void deleteTenant(Long id);

    /**
     * 添加banner
     *
     * @param bannerPicDto 入参
     */
    void addBannerPics(BannerPicDto bannerPicDto);

    /**
     * 查询广告详情
     *
     * @param id
     * @return
     */
    BannerPicEntity findBannerPicsInfo(Long id);

    /**
     * 修改banner
     *
     * @param bannerPicDto 入参
     */
    void updateBannerPics(BannerPicDto bannerPicDto);

    /**
     * 删除bannerId
     *
     * @param bannerId
     */
    void deleteBannerPics(Long bannerId);

    /**
     * 查询所有案例
     *
     * @return int
     */
    int findAllCaseNum();

    /**
     *  查询所有案例
     *
     * @return List
     */
    List<CaseEntity> findAllCaseList(Integer pageSize, Integer curPage);

    /**
     * 勾选精选案例
     *
     * @param isRecommend 状态
     */
    void recommendCase(Integer isRecommend, Long caseId);

    /**
     * 删除案例
     *
     * @param caseId
     */
    void deleteCase(Long caseId);

    /**
     *  查询总数
     *
     * @return int
     */
    int findBannerPicsNum();

    /**
     *  查询bannerList
     *
     * @param curPage
     * @param pageSize
     * @return
     */
    List<BannerPicEntity> findBannerPicList(Integer curPage, Integer pageSize);

    /**
     * 查询小区列表
     *
     * @param curPage
     * @param pageSize
     * @return
     */
    List<DesiginAreaDto>  findDesiginArea(Integer curPage, Integer pageSize);

    /**
     * 查询小区个数
     *
     * @return
     */
    int findDesiginAreaCount();

    /**
     * 新增小区列表
     *
     * @param desiginAreaDto
     * @return
     */
     void addDesiginArea(DesiginAreaDto desiginAreaDto);

    /**
     * 查询小区名称是否重复
     *
     * @param desiginAreaDto
     * @return
     */
    int findAreaNameCount(DesiginAreaDto desiginAreaDto);

    /**
     * 删除小区
     *
     * @param areaId
     * @return
     */
    void deleteDesiginArea(Long areaId);

    /**
     * 修改小区列表
     *
     * @param desiginAreaDto
     * @return
     */
    void updateDesiginArea(DesiginAreaDto desiginAreaDto);

    /**
     * 查询未使用的账号
     *
     * @return
     */
    List<DesiginAreaDto> findUserList();

}
